package vistas;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.prefs.BackingStoreException;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

import clases.Seccion;
/* Integrantes del Equipo
Ferreira Jose
Garrido Robinson
Sequera Andreina
Varela Morelav
*/

/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class MenuPrincipal extends javax.swing.JFrame {
	private JMenuBar jMenuBar1;
	private JMenuItem jMenuItem6;
	private JMenu Sistema;
	private JMenuItem jMenuItem5;
	private JMenuItem jMenuItem4;
	private JMenuItem menuCrear;
	private JMenuItem menuAplicar;
	private JMenuItem menuNota;
	private JMenu jMenu3;
	private JMenuItem jMenuItem3;
	private JMenu Profesor;
	private JMenuItem jMenuItem2;
	private JMenuItem jMenuItem1;
	private JMenuItem menuAprobados;
	private JMenuItem menuCedula;
	private JMenu jMenu2;
	private JMenu jMenu1;
	private Seccion seccion = null;

	/**
	* Auto-generated main method to display this JFrame
	*/
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				MenuPrincipal inst = new MenuPrincipal();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
			}
		});
	}
	
	public MenuPrincipal() {
		super();
		initGUI();
		seccion = new Seccion();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			{
				jMenuBar1 = new JMenuBar();
				setJMenuBar(jMenuBar1);
				{
					jMenu1 = new JMenu();
					jMenuBar1.add(jMenu1);
					jMenu1.setText("Seccion");
					{
						menuCrear = new JMenuItem();
						jMenu1.add(menuCrear);
						menuCrear.setText("Crear");
						menuCrear.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								menuCrearActionPerformed(evt);
							}
						});
					}
					{
						menuAplicar = new JMenuItem();
						jMenu1.add(menuAplicar);
						menuAplicar.setText("Aplicar Evaluaciones");
						menuAplicar.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								menuAplicarActionPerformed(evt);
							}
						});
					}
					{
						jMenu2 = new JMenu();
						jMenu1.add(jMenu2);
						jMenu2.setText("Listados");
						{
							menuCedula = new JMenuItem();
							jMenu2.add(menuCedula);
							menuCedula.setText("Listar Estudiantes por Cedula");
							menuCedula.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									menuCedulaActionPerformed(evt);
								}
							});
						}
						{
							menuNota = new JMenuItem();
							jMenu2.add(menuNota);
							menuNota.setText("Listar Estudiantes por Nota Final");
							menuNota.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									menuNotaActionPerformed(evt);
								}
							});
						}
						{
							menuAprobados = new JMenuItem();
							jMenu2.add(menuAprobados);
							menuAprobados.setText("Listado de Estudiantes Aprobados");
							menuAprobados.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									menuAprobadosActionPerformed(evt);
								}
							});
						}
						{
							jMenuItem1 = new JMenuItem();
							jMenu2.add(jMenuItem1);
							jMenuItem1.setText("Listado de Estudiantes Reprobados");
							jMenuItem1.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									jMenuItem1ActionPerformed(evt);
								}
							});
						}
						{
							jMenuItem2 = new JMenuItem();
							jMenu2.add(jMenuItem2);
							jMenuItem2.setText("Consultar Promedio de Notas");
							jMenuItem2.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									jMenuItem2ActionPerformed(evt);
								}
							});
						}
					}
				}
				{
					Profesor = new JMenu();
					jMenuBar1.add(Profesor);
					Profesor.setText("Profesor");
					{
						jMenuItem3 = new JMenuItem();
						Profesor.add(jMenuItem3);
						jMenuItem3.setText("Asignar Profesor ");
						jMenuItem3.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jMenuItem3ActionPerformed(evt);
							}
						});
					}
				}
				{
					jMenu3 = new JMenu();
					jMenuBar1.add(jMenu3);
					jMenu3.setText("Estudiante");
					{
						jMenuItem4 = new JMenuItem();
						jMenu3.add(jMenuItem4);
						jMenuItem4.setText("Inscribir ");
						jMenuItem4.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jMenuItem4ActionPerformed(evt);
							}
						});
					}
					{
						jMenuItem5 = new JMenuItem();
						jMenu3.add(jMenuItem5);
						jMenuItem5.setText("Buscar");
						jMenuItem5.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jMenuItem5ActionPerformed(evt);
							}
						});
					}
				}
				{
					Sistema = new JMenu();
					jMenuBar1.add(Sistema);
					Sistema.setText("Sistema");
					{
						jMenuItem6 = new JMenuItem();
						Sistema.add(jMenuItem6);
						jMenuItem6.setText("Salir");
						jMenuItem6.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jMenuItem6ActionPerformed(evt);
							}
						});
					}
				}
			}
			pack();
			setSize(500, 400);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}
	
	private void menuCrearActionPerformed(ActionEvent evt) {
		if(seccion.getNum_Seccion()==-1){
			FrmSeccion f = new FrmSeccion();
			f.setSeccion(seccion);
			f.show();
		}
		else
			JOptionPane.showMessageDialog(new JFrame(),"La seccion ya se creo","Menu Principal",JOptionPane.WARNING_MESSAGE);
		
			
	}
	
	private void menuAplicarActionPerformed(ActionEvent evt) {
		if(seccion.getNum_Seccion()!=-1)
			if(seccion.getProf_Asig()!=null)
				if(!seccion.getInscritos().isEmpty()){
					seccion.aplicar_Evaluaciones();
					JOptionPane.showMessageDialog(new JFrame(),"Se aplicaron las evaluaciones exitosamente","Menu Principal",JOptionPane.INFORMATION_MESSAGE);					
				}
				else
					JOptionPane.showMessageDialog(new JFrame(),"No hay estudiantes inscritos","Menu Principal",JOptionPane.WARNING_MESSAGE);
			else
				JOptionPane.showMessageDialog(new JFrame(),"No hay profesor asignado","Menu Principal",JOptionPane.WARNING_MESSAGE);
			
		else
			JOptionPane.showMessageDialog(new JFrame(),"No se ha creado la seccion","Menu Principal",JOptionPane.WARNING_MESSAGE);
		
		
	}
	
	private void menuCedulaActionPerformed(ActionEvent evt) {
		if(seccion.getNum_Seccion()!=-1)
				if(!seccion.getInscritos().isEmpty()){
					Listados f = new Listados();
					f.mostrarListado(seccion.listar_Ced(), "Listado de Estudiantes Ordenados por Cedula", false);
					f.show();
				}
				else
					JOptionPane.showMessageDialog(new JFrame(),"No hay estudiantes inscritos","Menu Principal",JOptionPane.WARNING_MESSAGE);
		else
			JOptionPane.showMessageDialog(new JFrame(),"No se ha creado la seccion","Menu Principal",JOptionPane.WARNING_MESSAGE);
		
		
	}
	
	private void menuNotaActionPerformed(ActionEvent evt) {
		if(seccion.getNum_Seccion()!=-1)
			if(!seccion.getInscritos().isEmpty())
			if(seccion.isEvaluacion()){
				Listados f = new Listados();
				f.mostrarListado(seccion.listar_Notas(), "Listado de Estudiantes Ordenados por Nota Final", true);
				f.show();
			}
			else
				JOptionPane.showMessageDialog(new JFrame(),"Debe aplicar las evaluaciones","Menu Principal",JOptionPane.WARNING_MESSAGE);	
		else
			JOptionPane.showMessageDialog(new JFrame(),"No hay estudiantes inscritos","Menu Principal",JOptionPane.WARNING_MESSAGE);
	else
		JOptionPane.showMessageDialog(new JFrame(),"No se ha creado la seccion","Menu Principal",JOptionPane.WARNING_MESSAGE);
	
	
}
	
	
	private void menuAprobadosActionPerformed(ActionEvent evt) {
		if(seccion.getNum_Seccion()!=-1)
			if(!seccion.getInscritos().isEmpty())
			if(seccion.isEvaluacion()){
				Listados f = new Listados();
				f.mostrarListado(seccion.listar_Alum_Aprob(), "Listado de Estudiantes Aprobados", true);
				f.show();
			}
			else
				JOptionPane.showMessageDialog(new JFrame(),"Debe aplicar las evaluaciones","Menu Principal",JOptionPane.WARNING_MESSAGE);	
		else
			JOptionPane.showMessageDialog(new JFrame(),"No hay estudiantes inscritos","Menu Principal",JOptionPane.WARNING_MESSAGE);
	else
		JOptionPane.showMessageDialog(new JFrame(),"No se ha creado la seccion","Menu Principal",JOptionPane.WARNING_MESSAGE);
	
	
	}
	
	private void jMenuItem1ActionPerformed(ActionEvent evt) {
		if(seccion.getNum_Seccion()!=-1)
			if(!seccion.getInscritos().isEmpty())
			if(seccion.isEvaluacion()){
				Listados f = new Listados();
				f.mostrarListado(seccion.listar_Alum_Reprob(), "Listado de Estudiantes Reprobados", true);
				f.show();
			}
			else
				JOptionPane.showMessageDialog(new JFrame(),"Debe aplicar las evaluaciones","Menu Principal",JOptionPane.WARNING_MESSAGE);	
		else
			JOptionPane.showMessageDialog(new JFrame(),"No hay estudiantes inscritos","Menu Principal",JOptionPane.WARNING_MESSAGE);
	else
		JOptionPane.showMessageDialog(new JFrame(),"No se ha creado la seccion","Menu Principal",JOptionPane.WARNING_MESSAGE);
	
	}
	
	private void jMenuItem2ActionPerformed(ActionEvent evt) {
		
		if(seccion.getNum_Seccion()!=-1)
			if(!seccion.getInscritos().isEmpty())
			if(seccion.isEvaluacion()){
				JOptionPane.showMessageDialog(new JFrame(),"El promedio de la seccion es: "+seccion.listar_Promedio(),"Menu Principal",JOptionPane.WARNING_MESSAGE);	
				
			}
			else
				JOptionPane.showMessageDialog(new JFrame(),"Debe aplicar las evaluaciones","Menu Principal",JOptionPane.WARNING_MESSAGE);	
		else
			JOptionPane.showMessageDialog(new JFrame(),"No hay estudiantes inscritos","Menu Principal",JOptionPane.WARNING_MESSAGE);
	else
		JOptionPane.showMessageDialog(new JFrame(),"No se ha creado la seccion","Menu Principal",JOptionPane.WARNING_MESSAGE);
	
	}
	
	private void jMenuItem3ActionPerformed(ActionEvent evt) {
		if(seccion.getNum_Seccion()!=-1)
			{
			FrmProfesor f = new FrmProfesor();
			f.setSeccion(seccion);
			f.show();
			}
		else
			JOptionPane.showMessageDialog(new JFrame(),"No se ha creado la seccion","Menu Principal",JOptionPane.WARNING_MESSAGE);
	
	}
	
	private void jMenuItem4ActionPerformed(ActionEvent evt) {
		if(seccion.getNum_Seccion()!=-1)
		{
		FrmEstudiante f = new FrmEstudiante();
		f.setSeccion(seccion);
		f.show();
		}
	else
		JOptionPane.showMessageDialog(new JFrame(),"No se ha creado la seccion","Menu Principal",JOptionPane.WARNING_MESSAGE);

	}
	
	private void jMenuItem5ActionPerformed(ActionEvent evt) {
		if(seccion.getNum_Seccion()!=-1)
		{
		FrmBuscarRetirarEStudiante f = new FrmBuscarRetirarEStudiante();
		f.setSeccion(seccion);
		f.show();
		}
	else
		JOptionPane.showMessageDialog(new JFrame(),"No se ha creado la seccion","Menu Principal",JOptionPane.WARNING_MESSAGE);

	}
	
	private void jMenuItem6ActionPerformed(ActionEvent evt) {
		System.exit(0);
	}

}
